﻿using System;

using FireBus.Contracts;


namespace FireBus.Core
{
	public class ExtensionEventArgs : EventArgs
	{
		private readonly ExtensionName _Extension;

		private readonly ExtensionMetadata _Metadata;


		public ExtensionName Extension
		{
			get { return _Extension; }
		}

		public ExtensionMetadata Metadata
		{
			get { return _Metadata; }
		}


		public ExtensionEventArgs(ExtensionName extension, ExtensionMetadata metadata)
		{
			if (extension == null)
			{
				throw new ArgumentNullException("extension");
			}
			if (metadata == null)
			{
				throw new ArgumentNullException("metadata");
			}
			_Extension = extension;
			_Metadata = metadata;
		}
	}
}
